package com.jic.manager.service;

import java.lang.Long;
import java.util.List;

import com.jic.common.base.vo.RestResult;
import com.jic.manager.entity.SysRole;
import com.jic.common.base.vo.Page;
import com.jic.common.base.vo.PageResult;
import com.jic.manager.request.SysRoleMenuVerifyRequest;
import com.jic.manager.request.SysRoleRequest;
import com.jic.manager.response.SysRoleInfoMenuResponse;

/**
* 角色信息表
* @author : 
* @email : 
* @since : 2020-02-26 09:39:06
* @version : v1.0.0
*/
public interface SysRoleService {

    long insert(SysRole sysRole);

    Boolean delete(SysRoleRequest sysRoleRequest);

    void deleteByIds(SysRoleRequest sysRoleRequest);

    long update(SysRole sysRole);

    SysRole queryByPrimaryKey(Long id);

    List<SysRole> query(SysRole sysRole);

    PageResult<SysRole> queryPage(SysRole sysRole, Page pageQuery);


    RestResult<PageResult<SysRole>> queryPageList(SysRoleRequest sysRoleVo);

    long saveSysRole(SysRoleRequest sysRoleRequest);

    SysRoleInfoMenuResponse getSysRoleInfo(SysRoleRequest sysRoleRequest);

    Boolean submitReview(SysRole sysRole);

    Boolean batchSubmitReview(SysRoleRequest sysRoleRequest);

    Boolean roleReview(SysRole sysRole);

    Boolean batchRoleReview(SysRoleRequest sysRoleRequest);

    Boolean revokeReview(SysRole sysRole);


}